using System;
using System.Collections.Generic;
using System.Text;

namespace IGGCore
{
    /// <summary>
    /// The indicator of a game
    /// </summary>
    public class Indicator
    {
        private string m_scoreboardCode;
        private string m_boxscoreCode;
        private string m_reason;
        private IndicatorCategoy m_category;

        public enum IndicatorCategoy { IN_PROGRESS, TERMINATED, INTERRUPTED, WARMUP, NEXT };

        public Indicator(string code, string boxcode, string reason, IndicatorCategoy category)
        {
            m_scoreboardCode = code;
            m_boxscoreCode = code;
            m_reason = reason;
            m_category = category;
        }

        public string ScoreboardCode
        {
            get { return m_scoreboardCode; }
            set { m_scoreboardCode = value; }
        }
        public string BoxscoreCode
        {
            get { return m_boxscoreCode; }
            set { m_boxscoreCode = value; }
        }

        public IndicatorCategoy Category
        {
            get { return m_category; }
            set { m_category = value; }
        }


        public bool IsInProgress
        {
            get 
            {
                return (m_category == IndicatorCategoy.IN_PROGRESS);
            }
        }

        public bool IsTerminated
        {
            get
            {
                return (m_category == IndicatorCategoy.TERMINATED);
            }
        }

        public bool IsInterrupted
        {
            get
            {
                return (m_category == IndicatorCategoy.INTERRUPTED);
            }
        }

        public string Reason
        {
            get { return m_reason; }
            set { m_reason = value; }
        }
    }
}
